package com.longchat.service.inter.system;

import java.util.List;

import com.longchat.domain.permission.Resource;
import com.longchat.dto.comm.BaseDataTableQueryInfo;
import com.longchat.dto.comm.DatatablesPageViewInfo;
import com.longchat.dto.comm.ResultInfo;
import com.longchat.dto.system.MenuInfo;
import com.longchat.dto.system.MenuMaintainInfo;
import com.longchat.dto.system.NavibarInfo;
import com.longchat.utils.vo.TypeInfo;

public interface IMenuService {
	/**
	 * 查询菜单分页信息
	 * @param info
	 * @return
	 */
	public DatatablesPageViewInfo<Resource> queryMenus(BaseDataTableQueryInfo info);
	
	/**
	 * 添加菜单信息
	 * @param info
	 * @return
	 */
	public ResultInfo addMenu(MenuMaintainInfo info);
	
	/**
	 * 修改菜单信息
	 * 
	 */
	public ResultInfo updateMenu(MenuMaintainInfo info);
	
	/**
	 * 删除菜单
	 * @param menuId
	 * @return
	 */
	public ResultInfo deleteMenu(int menuId);

	/**
	 * 查询所有菜单（除按钮）
	 * @return
	 */
	public List<TypeInfo> queryMenus();

	/**
	 * 根据id查询菜单信息
	 * @param id
	 * @return
	 */
	public MenuInfo queryMenu(int id);
	
	/**
	 * 查询导航菜单
	 * @param userName
	 * @param isCustomer
	 * @return
	 */
	public List<NavibarInfo> queryNavibar(String userName,boolean isCustomer);

	/**
	 * 查询所有url和id
	 * @param userName
	 * @return
	 */
	public List<TypeInfo> queryAllMenusUrl(String userName);
	
}
